<template>
    <body id="poster">
        <el-form class="login-container">
            <h3 class="login_title">系统登录</h3>
            <el-form-item>
                <el-input type="text" v-model="loginForm.username" placeholder="账号"></el-input>
            </el-form-item>
            <el-form-item>
                <el-input type="password" v-model="loginForm.password" placeholder="密码"></el-input>
            </el-form-item>
            <el-form-item>
                <el-button type="primary" style="width: 100%; background: #505458; border: none; " v-on:click="login">登录</el-button>
            </el-form-item>
        </el-form>
    </body>
</template>

<script>
    export default {
        name: 'Login',
        data() {
            return {
                loginForm: {
                    username: '',
                    password: ''
                },
                responseResult: []
            }
        },
        methods: {
            login() {
                var _this = this
                this.$axios.post('/login', {
                        username: this.loginForm.username,
                        password: this.loginForm.password
                    })
                    .then(response => {
                        if (response.data.code === 200) {
                            _this.$store.commit('login', _this.loginForm)
                            var path = this.$route.query.redirect
                            this.$router.replace({path: path === '/' || path === undefined ? '/index' : path})
                        }
                        if (response.data.code === 400) {
                            this.$message.error('用户名或密码不正确');
                        }
                    })
                    .catch(response => {
                        console.error(response)
                        this.$message.error('登录失败，请联系管理员');
                    })
            }
        }
    }
</script>

<style>
    .login-container {
        border-radius: 15px;
        background-clip: padding-box;
        margin: 300px auto;
        width: 350px;
        padding: 35px 35px 15px 35px;
        background: #fff;
        border: 1px solid #eaeaea;
        box-shadow: 0 0 25px #cac6c6;
    }
    .login_title {
        margin: 0 auto 40px auto;
        text-align: center;
        color: #505458;
    }
    #poster {
        height: 100%;
        width: 100%;
        position: fixed;
        background-image: url("../../assets/login_bg.jpg");
    }
    body {
        margin: 0;
    }
</style>
